package main

import "fmt"

func main() {
	definePoint()
	println("\r\n======分界线====\r\n")
	makeUse()
}

//new函数不太常用，使用new函数得到的是一个类型的指针，并且该指针对应的值为该类型的零值
func definePoint() {
	a := new(int)
	b := new(bool)
	fmt.Printf("%T\n", a) // *int
	fmt.Printf("%T\n", b) // *bool
	fmt.Println(*a)       // 0
	fmt.Println(*b)       // false

}

//make也是用于内存分配的，区别于new，它只用于slice、map以及chan的内存创建，而且它返回的类型就是这三个类型本身，而不是他们的指针类型，因为这三种类型就是引用类型，所以就没有必要返回他们的指针了。make函数的函数
func makeUse() {
	var c map[string]int
	c = make(map[string]int, 10)
	c["沙河娜扎"] = 100
	fmt.Println(c)
}
